Two methods have been used conventionally for emulation of CPU instructions having a different instruction type. One method is a compiler method in which a set of instructions is compiled in advance. The other method is an interpreter method in which each instruction is interpreted when it is executed.
The above-described conventional methods have the following disadvantages. With the compiler method, it is necessary to convert object codes and store them in advance, which is inconvenient for practical use. With the interpreter method, an object code is read and interpreted as a kind of data and another instruction is executed which provides the same results of an original instruction.